#include "EMatrix4x4.h"

EVec3::EVec3()
{
    x = 0;
    y = 0;
    z = 0;
}

EVec3::EVec3(double v1, double v2, double v3)
{
    x = v1;
    y = v2;
    z = v3;
}

EVec3::~EVec3()
{
}
    
EVec3& EVec3::operator=(const EVec3& value)
{
    x = value.x;
    y = value.y;
    z = value.z;

    return *this;
}

EVec4::EVec4()
{
    x = 0;
    y = 0;
    z = 0;
    w = 0;
}

EVec4::EVec4(double v1, double v2, double v3, double v4)
{
    x = v1;
    y = v2;
    z = v3;
    w = v4;
}

EVec4::~EVec4()
{
}

EVec4& EVec4::operator=(const EVec4& value)
{
    x = value.x;
    y = value.y;
    z = value.z;
    w = value.w;

    return *this;
}

EMatrix4x4::EMatrix4x4()
{
    for(int i = 0 ; i < 4; i++)
    {
        for(int j = 0 ; j< 4; j++)
        {
            if(i == j)
            {
                data[i][j] = 1;
            }
            else
            {
                data[i][j] = 0;
            }
        }
    }
}

EMatrix4x4::~EMatrix4x4()
{
}

EMatrix4x4& EMatrix4x4::operator=(const EMatrix4x4& value)
{
    for(int i = 0 ; i < 4; i++)
    {
        for(int j = 0 ; j< 4; j++)
        {
            data[i][j] = value.data[i][j];
        }
    }

    return *this;
}
